In some computer systems, in particular older computer systems, dates are represented by six characters. The representation used indicates the year by two digits corresponding to the last two numbers of the year in question, the month by two digits corresponding to the month (1-12) in question, and the day of the month by two digits corresponding to the day of the month (1-31).
The use of only six characters was employed in order to save memory, which was expensive at the time. Furthermore, it was not expected that the old computer systems should survive into the year 2000.
The standard format for date representation is therefore usually one of YY/MM/DD, MM/DD/YY or DD/MM/YY, where Y represents a year digit, M represents a month digit and D represents a day digit. The representation is thus well suited to represent any date in a certain, for example the twentieth, century.
However, when the century is changed, such a representation can not be used, since it is incapable of determining the difference between dates belonging to different centuries. Also, since the year only has two digits the coming year 2000 will be represented by 00. This will have an unwanted effect on programs which refers to, or uses dates, in different kinds of algorithms or calculations.
A result from such calculations can, for example, be that an entered date 000101 representing the first of January in the year 2000 will, by the computer system, be regarded as an earlier date than 991231 representing the 31 of December 1999. Such effects are, of course, highly undesirable, and would cause large problems in computer systems using this format for representing dates.
In order for the computer systems not to experience such problems, which sometimes are, with a common term, referred to as the millennium problem, the solution up until now has been to reprogram the entire computer system in order to make it cope with the change of millennium.
However, such an approach, is, although possible to carry out, very expensive. The total cost for such reprogramming is expected to be several billions US dollars. Moreover, the very large amount of computer code, which has to be altered or reprogrammed, makes the possibility of erroneous reprogramming very high. The result of such erroneous reprogramming is impossible to foresee, and it can take years before it is even noticed.
Another proposed solution to the millennium problem is to change the date format into the representation CYYDDD, where C denotes the century, YY the year, and DDD the day as a number from 1-365 or 366. This proposed method will only solve a part of the problem. A problem which will remain is that most of the computer systems are set to employ one of the standard formats YY/MM/DD, MM/DD/YY or DD/MM/YY and used in that form for different calculations, such as determining the month. Moreover, the standard formats are better suited for display to a user, for whom it will be easier to use the date information, since the day and the month are displayed explicitly.
U.S. Pat. No. 5,630,118 describes a system and a method for carrying out date operations on date fields of different centuries.
U.S. Pat. No. 5,600,836 discloses a system and a method for processing date-dependent information in a two digit format where dates are in one or two centuries.